一起发布3款 Semo REPL 插件
· 阅读需 4 分钟
图片与正文无关
Node REPL 里的命令就是那些点开头的命令:
可能大家还不太习惯在 REPL 里做更多的事情,希望读过本文之后,部分同学可以习惯,并且爱上在 Semo REPL 里做扩展和使用扩展。今天给大家带来了 3 款插件,每个插件扩展了一个命令,先来一个总览:
下面分别给大家介绍:
准备阶段
所有的插件都需要安装 @semo/cli
这个命令行工具:
npm i -g @semo/cli
接下来的安装过程只写安装插件的部分。
在 REPL 里查 Javascript 文档:semo-plugin-repl-doc
npm i -g semo-plugin-repl-doc
semo repl --hook
>>> .doc string.trim
很容易理解不是嘛,这里文档比较长,只截取了一部分。大家有没有觉得很神奇,竟然在 REPL 里做到了这件事,感兴趣的同学可以去看看源码,原理十分简单,这里就当工具给大家介绍了。
那么,这里都支持查看哪些文档类型呢?
- 最常见的就是看函数的 API:
.doc string.trim
,这里也支持.doc string.trim()
或者string.trim(str)
这样的风格,如果你愿意多敲几个字符的话。 - 当然,你也可以去看看方法索引:
.doc string
,这样的化,页面可能会有好几屏 - 也支持查一些语句用法:
.doc while
- 还支持比如部分运算符:
.doc new
- 还支持几个中文关键字:
.doc 运算符
- 默认会读取当前机器的语言设置,如果想看指定语言可以传参:
.doc array.concat --lang=en
- 如果你想执行任意关键字搜索,只会给出第一页的链接:
.doc foo bar --type=search
- 如果忘记了用法可以查看帮助:
.doc help
或者.doc --help
希望这个查看 Javascript 文档的功能可以帮助大家提高一点点工作效率。大家可以很容易发现,这里的数据是抓的 MDN 的,实时做的页面解构分析,在一个 REPL 的运行期间,相同的查询会被缓存,稍微做了点性能优化。
在 REPL 里查单词:semo-plugin-repl-translate
当然,大家有很多方式查单词,但是在一个 REPL 里难道不可以做的事情越多越好嘛?可能部分同学会喜欢呢!
npm i -g semo-plugin-repl-translate
semo repl --hook
>>> .translate hello
这里没有太多好解释的,特性都是依赖的包带来的,感谢 fanyi
这个 npm 包的作者,这里支持单词的英译中和中译英(不支持句子)
在 REPL 里查 Wiki: semo-plugin-repl-wiki
当然,这里就要感谢百度百科了,想了一下,国内应该还是百度百科最全吧。
npm i -g semo-plugin-repl-wiki
semo repl --hook
>>> .wiki javascript
小结
如果大家感兴趣去看每个插件的代码的话,就会发现实现都很简单,使用了 Semo
的一个钩子 hook_repl_command
。如果大家有什么好的想法,可以参考这几个插件的代码仿写一下,希望看到更多好玩功能的出现。如果有疑问可以留言哈